package com.ego.service;

import com.ego.pojo.Brand;
import com.ego.pojo.vo.ResultVO;

import java.util.List;

/**
 * @author Ares
 */
public interface BrandService {

    /**
     * 根据以下参数查询到品牌的分页数据
     * @param pageNo 页码
     * @param pageSize 页数据大小
     * @param sortBy 根据什么方式排序
     * @param descending 是否排序
     * @param key 关键字
     * @return 返回品牌的分页数据
     */
    ResultVO<Brand> page(Integer pageNo, Integer pageSize, String sortBy, Boolean descending, String key);

    /**
     * 通过品牌ID查询到受影响的行数
     * @param id 品牌ID
     * @return 受影响的行数
     */
    Integer delete(Long id);

    /**
     * 新增品牌和品牌的种类
     * @param brand 品牌
     * @param cids 种类ID
     * @return 受影响的行数
     */
    Integer save(Brand brand, Long[] cids);

    /**
     * 修改品牌和品牌种类
     * @param brand 品牌
     * @param cids 种类ID集合
     * @return 受影响的行数
     */
    Integer update(Brand brand, Long[] cids);

    /**
     * 通过种类ID查询到品牌的集合
     * @param cid 种类ID
     * @return 品牌集合
     */
    List<Brand> selectBrandsByCid(Long cid);

    List<Brand> selectByIds(List<Long> idList);

}
